Enabling Agile Offshoring with the Dual-Shore Model
نویسنده
چکیده
Conventional offshoring with requirements engineering onshore and implementation offshore is not very agile. Problems often arise in the transfer of requirements and knowledge and in the quality of the developed system. Agile offshoring may be a solution for these problems. But its application involves risks. In this paper common challenges of collaboration in agile offshoring projects are presented. Based on these and reflections on dimensions of distribution and cultural differences, three cooperation models for offshoring are analyzed from a knowledge sharing perspective. Thereby we show how dual-shore offshoring with onshore and offshore development offers a stable organizational foundation for agile offshoring. 1 Characteristics and challenges of agile offshoring The offshoring of application development is an important part of global software development. But many offshoring projects suffer from problems resulting from a reduced communication bandwidth and not very agile development with long feedback cycles. This ultimately leads to inappropriate applications and failed projects [CT05]. The application of agile methods in offshoring projects promises to improve this situation. Agile offshoring (AO) means the application of agile methods and practices in offshore software development projects. Agile offshoring thus is a special case of agile global software development (AGSD). Agile methods strive for improving flexibility and quality. Requirements are not considered to be carved in stone but may change and lead to adjustments in the developed system. Open communication, incremental releases, frequent feedback and simple, clear processes are core values of most agile methods. Many advantages of agile methods are especially desirable in distributed projects, e. g. early discovery of shortcomings and defects, intense involvement of the later users and better insight into the project progress. Well-known approaches for agile offshoring include Distributed Extreme Programming (DXP) [KJCL02] and Distributed Scrum [SVBP07]. They carry over the fundamentals of frequently used agile methods to distributed projects. Unfortunately, real agility seems hard to realize in offshoring projects. A main problem lies in the distribution and diversity of the project members that hinders the adoption of interdisciplinary teams and informal communication. We recently carried out an investigation to assess further common challenges of agile offshoring. For this purpose, experience reports that were published on major agile conferences were analyzed. The depicted challenges were categorized using open coding – a practice from grounded theory [Pan96]. First results of this study have been published in [Sau06]. Here we concentrate on the challenges that are most important for the collaboration of distributed teams. The following issues were identified: Team spirit: Personal contact amongst project members is reduced in consequence of the geographical and temporal distribution. This makes it difficult to cultivate a common team spirit. Common vision: The same reasons also hamper the establishment of a common vision – a set of shared values and principles that facilitates the cooperation. Dealing with diverse cultures: Cultural differences show up on different levels: organizational structures and working habits, country-specific characteristics, and individual behaviors. They can lead to misunderstandings and frustration if they are not dealt with in proper form. Language problems: Another frequent source of misunderstandings is the language. Although all participants of the experience reports’ projects spoke English as common language, lacking language skills, different pronunciation, missing body language and different meanings of some words were problematic. Informal communication: Communication during coffee breaks or informal meetings is important for a pleasant atmosphere and mutual friendship and trust. This is hard to accomplish in distributed teams. Cooperation and coordination: All experience reports name cooperation and coordination of activities more or less as main problem areas of distributed teamwork. Issues that could be resolved easily in a colocated environment can take much longer in global software development. Knowledge transfer: Knowledge distribution is critical in global teams. Common knowledge has to be explicitly build up and maintained. This can be challenging as fluctuation of employees is much higher in offshoring countries. The process of introducing changes and news should be planned carefully. These issues should be addressed in research and practice to improve the outcome of agile offshoring projects. 2 Our research objective Research of communication challenges in distributed projects concentrates on two areas. The literature on CSCW (computer supported cooperative work) deals with different communication needs and the effects of distance [OO00]. Another important area of research are tools for supporting distributed teams. These can be grouped in the categories communication (e. g. video conference systems, e-mail), common information spaces (e. g. wikis), workflow-management (workflow management systems) and workgroupcomputing (e. g. calendars, group editors, meeting support systems) [TSMB95]. In this paper we concentrate on organizational structures of distributed teams. Three different cooperation models are compared in search for better communication in agile offshoring projects. “A cooperation model is a usage model that describes and regulates a cooperative situation either explicitly or implicitly.” [Zül04, p. 342] It mainly determines the distribution of the project members to the various project sites. The analyzed models are direct and indirect offshoring as conventional cooperation models for offshoring and dual-shore offshoring as agile solution for some of their shortcomings. The discussion is based on the identified challenges of agile offshoring, three case studies of real-world projects (one using action research, two interview-based) [KS07] and reflections on dimensions of distribution and cultural differences in offshoring. We distinguish between six different dimensions of distribution that were derived from the literature ([Gum06], [ECWP03], [AP99]). Geographic distribution is the most discussed one that separates offshoring from other forms of cooperative software development. Temporal distribution is typically caused by separated time zones, but also by different work rhythms or part-time work. Outsourcing leads to a strong organizational distribution between client and service provider. Dimensions not specific to offshoring are distribution among stakeholder groups (team members have different roles and functions, education and knowledge), project distribution (the project is split into several subprojects that have to be synchronized), and personal distribution (team members working on several projects in parallel). The other focus of this analysis are cultural differences. As offshoring projects are characterized by teams working on different continents, team members have their roots in different cultural backgrounds. Cultural differences can hinder the knowledge transfer between teams, can lead to misunderstandings and problems and prevent the building of trust and a common team spirit [KSW04]. They are not limited to national cultures. In software development projects, people from many backgrounds have to work together. They act in different roles with different believes and goals: mainly the customer (typically split in business and IT department), analysts, programmers, testers, and project managers. 3 Direct and indirect offshoring The first-generation offshoring model is known as direct offshoring. The customer directly interacts with the offshore service provider. This model typically uses a strict separation of tasks: the customer determines the requirements, the service provider does the implementation. This model’s roles and communication channels are depicted in figure 1. The customer’s IT and business departments have to agree on the requirements and the specification (1). The project manager (PM) and tester (T) typically belong to the IT deInternal personnel offshore onshore
منابع مشابه
Mastering Dual-Shore Development - The Tools and Materials Approach Adapted to Agile Offshoring
Software development in offshoring settings with distributed teams presents particular challenges for all participants. Process models that work well for conventional projects may have to be adapted. In this paper we present casestudy-reinforced advice on how to extend the Tools & Materials approach – a well established communication-centered agile design and development approach – to the field...
متن کاملExecution Capabilities of Distributed Technology Projects: A Comparative Evaluation of Efficiency Using Stochastic Frontier Analysis
Efficiency of projects is a central concern in project management. Such concerns have only been exacerbated with projects being increasingly distributed across firm and country boundaries. This study has a two-fold research agenda: First, it provides an understanding of how the efficiency of projects varies across project organization types, namely, Insourcing, Outsourcing, Offshoring, and Offs...
متن کاملOutsourcing and Offshoring with Agility: A Case Study (Experience Paper)
We describe techniques and lessons learned from using agile methodologies with distributed teams, specifically outsourced and offshore development teams. Such teams often need to contend with multiple organizational boundaries, differences in time zone, language, and culture, and other communication challenges. First, we present concepts and issues in outsourcing and offshoring. Second, we desc...
متن کاملFlexible Global Software Development (GSD): Antecedents of Success in Requirements Analysis
Globalization of software development has resulted in a rapid shift away from the traditional collocated, on-site development model, to the offshoring model. Emerging trends indicate an increasing interest in offshoring even in early phases like requirements analysis. Additionally, the flexibility offered by the agile development approach makes it attractive for adaptation in globally distribut...
متن کاملAntecedents of success in Requirements Analysis
Globalization of software development has resulted in a rapid shift away from the traditional collocated, on-site development model, to the offshoring model. Emerging trends indicate an increasing interest in offshoring even in early phases like requirements analysis. Additionally, the flexibility offered by the agile development approach makes it attractive for adaptation in globally distribut...
متن کامل